﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using ClaseBase;
using System.Text.RegularExpressions;

namespace Grupo04Playa.Operador
{
    /// <summary>
    /// Interaction logic for ABMCiente.xaml
    /// </summary>
    public partial class ABMCiente : Window
    {
        public ABMCiente()
        {
         InitializeComponent();
            txtDni.Focus();
            btnSalirBusqueda.Visibility = Visibility.Hidden;
            btnSalirBusqueda.Visibility = Visibility.Collapsed;
            btnModificar.Visibility = Visibility.Hidden;
            btnModificar.Visibility = Visibility.Collapsed;
            canvasBuscar.Visibility = Visibility.Hidden;
            canvasBuscar.Visibility = Visibility.Collapsed;

            txtDni.Text = "";
        }

        private void button2_Click(object sender, RoutedEventArgs e){



            
                if (validarentradaCliente(txtDni.Text, txtApellido.Text, txtNombre.Text, txtTelefono.Text) == true)
                {

                    Cliente cliente = new Cliente();

                    cliente.DniCliente = Int32.Parse(txtDni.Text);
                    cliente.Apellido = txtApellido.Text;
                    cliente.Nombre = txtNombre.Text;
                    cliente.Telefono = txtTelefono.Text;



                    string messageBoxText = "Desea guardar los siguientes Datos:\n" + cliente.DniCliente + "\n" + cliente.Nombre + "\n" + cliente.Apellido + "\n" + cliente.Telefono;
                    string mensaje = ":P";
                    MessageBoxButton button = MessageBoxButton.YesNo;
                    MessageBoxImage icon = MessageBoxImage.Warning;


                    MessageBoxResult result = MessageBox.Show(messageBoxText, mensaje, button, icon);
                    switch (result)
                    {
                        case MessageBoxResult.Yes:

                            Cliente m = new Cliente();

                            m.DniCliente = Int32.Parse(txtDni.Text);
                            m.Apellido = txtApellido.Text;
                            m.Nombre = txtNombre.Text;
                            m.Telefono = txtTelefono.Text;
                            TrabajarCliente.insertarCliente(m);

                            txtDni.Text = "";


                             txtApellido.Text="";
                             txtNombre.Text="";
                            txtTelefono.Text="";


                            
                            break;

                        case MessageBoxResult.No:
                            // User pressed Cancel button
                            // ...
                             txtDni.Text = "";


                        txtApellido.Text = "";
                        txtNombre.Text = "";
                        txtTelefono.Text = "";


                            break;
                    }




                }
        
        
        
        
        
        }

        private bool validarentradaCliente(  string dni , string apellido , string nombre,    string telefono        )
        {



            Regex r = new Regex("^[A-Za-z ]+$");

            bool bandera = true;
            int number1 = 0;
            bool canConvert = int.TryParse(dni, out number1);
            bool canConvert2 = int.TryParse(telefono, out number1);
            if (dni.Equals(""))
            {
                bandera = false;

               
            }
            else if (canConvert == false)
            {

                MessageBox.Show("dni  debe ser numerico", "Mensaje");
                bandera = false;

            }
            else if (Int32.Parse(dni.ToString()) < 0)
            {

               
                bandera = false;

            }
            else if (apellido.Equals(""))
            {

               
                bandera = false;
            }
            else if (r.IsMatch(apellido) == false)
            {
                MessageBox.Show("apellido deber ser  cadena de caracteres", "Mensaje");
                bandera = false;

            }
            else if (nombre.Equals(""))
            {

                
                bandera = false;
            }
            else if (r.IsMatch(nombre) == false)
            {
                MessageBox.Show("nombre deber ser  cadena de caracteres", "Mensaje");

                bandera = false;
            }
            else if (telefono.Equals(""))
            {

                
                bandera = false;
            }
            else if (canConvert2 == false)
            {

                MessageBox.Show("telefono debe ser numerico", "Mensaje");
                bandera = false;
            }

            
            
            
            
            
            
            
            
            
            
            return bandera;
         
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            Close();
        }

        private void button4_Click(object sender, RoutedEventArgs e)
        {
                        btnRegistrar.IsEnabled = false;
                        btnEliminar.IsEnabled = false;
                        txtDni.IsEnabled = false;
                        btnSalirBusqueda.Visibility = Visibility.Visible;
                        btnModificar.Visibility = Visibility.Visible;
                        canvasBuscar.Visibility = Visibility.Visible;
                        btnBuscar.Visibility = Visibility.Hidden;
                        btnBuscar.Visibility = Visibility.Collapsed;
                        txtBuscar.Text = "";
                        txtBuscar.Focus();
        }

        private void btnEliminar_Click(object sender, RoutedEventArgs e)
        {

            
        }

        private void btnSalirBusqueda_Click(object sender, RoutedEventArgs e)
        {

            txtDni.Focus();
            txtDni.IsEnabled = true;
            btnRegistrar.IsEnabled = true;
            btnEliminar.IsEnabled = true;
            btnSalirBusqueda.Visibility = Visibility.Hidden;
            btnSalirBusqueda.Visibility = Visibility.Collapsed;
            btnModificar.Visibility = Visibility.Hidden;
            btnModificar.Visibility = Visibility.Collapsed;
           btnBuscar.Visibility = Visibility.Visible;
            
            canvasBuscar.Visibility = Visibility.Hidden;
            canvasBuscar.Visibility = Visibility.Collapsed;

        }

        private void btnModificar_Click(object sender, RoutedEventArgs e)
        {

            if (validarentradaCliente(txtDni.Text, txtApellido.Text, txtNombre.Text, txtTelefono.Text) == true)
            {

                Cliente cliente = new Cliente();

                cliente.DniCliente = Int32.Parse(txtDni.Text);
                cliente.Apellido = txtApellido.Text;
                cliente.Nombre = txtNombre.Text;
                cliente.Telefono = txtTelefono.Text;



                string messageBoxText = "Desea Actualizar al cliente  los siguientes Datos:\n" + cliente.DniCliente + "\n" + cliente.Nombre + "\n" + cliente.Apellido + "\n" + cliente.Telefono;
                string mensaje = ":P";
                MessageBoxButton button = MessageBoxButton.YesNo;
                MessageBoxImage icon = MessageBoxImage.Warning;


                MessageBoxResult result = MessageBox.Show(messageBoxText, mensaje, button, icon);
                switch (result)
                {
                    case MessageBoxResult.Yes:

                        Cliente m = new Cliente();

                        m.DniCliente = Int32.Parse(txtDni.Text);
                        m.Apellido = txtApellido.Text;
                        m.Nombre = txtNombre.Text;
                        m.Telefono = txtTelefono.Text;
                        TrabajarCliente.ActualizarCliente(m);

                        txtDni.Text = "";


                        txtApellido.Text = "";
                        txtNombre.Text = "";
                        txtTelefono.Text = "";



                        break;

                    case MessageBoxResult.No:
                       
                         txtDni.Text = "";


                        txtApellido.Text = "";
                        txtNombre.Text = "";
                        txtTelefono.Text = "";
                        break;
                }




            }
        
        
        



        }


     

     

       











    }
}
